#ifndef MFQUEUE_H
#define MFQUEUE_H

#include<iostream>
#include<string>
#include<queue>
#include<vector>
#include<list>
#include "process.h"

using namespace std;

class MFQueue {

	public:
		MFQueue();
		MFQueue(int);
		~MFQueue();
		Process run_next_process(bool);
		void print_gantt();
		void add_process(Process);
		void add_processes(list<Process>);
		bool contains(Process);
		bool is_empty();
		int get_time_quantum();
		
	private:
		list<Process> queue;
		vector<int> ran;
		int time_quantum;
		int run_for;
};

#endif

